//页面加载完执行js
$(document).ready(function(){
	//更新、保存按钮添加事件
	$("#saveBtn").click(saveOrUpdate);
		//订单明细列表根据窗口大小自适应
	//如果自己的页面自适应有问题传递参数：{errorHeight：120} 多测试几个高度值
	OasisHelper.resizeOrderListDatagrid();
	$(window).resize(function(){
		OasisHelper.resizeOrderListDatagrid();
	});
});

//保存和更新执行js
function saveOrUpdate(){
    // 下面这行代码可以避免页面按钮连续点击2次
    // 请在其它操作按钮上添加这么这样代码，并注意调用“关闭”代码。提示信息根据需要调整！！！
	$.plugin.plugLoading("正在保存，请稍后...");
	//表单非空验证formId:默认是data_form
	if(!OasisHelper.formNotNullVerify()){
		return ;
	}
	//单据明细校验（是否包含明细，以及明细中填值是否符合要求）
	var detailList = $('#list_datagrid_table').datagrid('getRows');
    if(detailList.length==0){
    	$.plugin.close();
		$.messager.alert("系统提示","*****明细不能为空","info");
        return;
	}else{
		for(var i=0; i<detailList.length; i++){
			if(detailList[i].quantity){
				$.messager.alert("系统提示","**数量不能为空","info");
		        $.plugin.close();
				return;
			}
		 }
	}
	//封装表单数据提交到后台(如何formId不为data_form请传入form的ID值)
	var formParams = OasisHelper.form2object();
	formParams.detailList=JSON.stringify(detailList);
	var operatorType="save";
	// 在审核，作废，打印等，需要提取主键参数，按照下行代码的取值方式去值：避免在ftl页面拼接参数值
	if($('#authorId').val()){
		operatorType='update';
	}
    var url=BASE_PATH +"/wsAuthorController/"+operatorType;
    $.ajax({
		type :"POST",
		url: url,
		dataType:'json',
		data:formParams,
		success: function(result) {
			if(result.success){
				$.messager.show({
					title:'提示',
					msg:"保存成功",
					timeout:2000,
					showType:'slide' 
				});
				setTimeout(function(){
					$.plugin.close();
					$.plugin.plugLoading("正在跳转，请稍后...");
					window.location.href = BASE_PATH+'/wsAuthorController/toView/'+result.authorId;
				},2000)	
			}else{
				$.plugin.close();
				$.messager.alert("系统提示","保存失败！","error");
			}
		}
	});

}
//***************************以下是自己业务单独写的js方法***************************************
//****************************新增页面单独的逻辑开始************************************************


//****************************新增页面单独的逻辑结束************************************************


//****************************更新页面单独的逻辑开始************************************************


//****************************更新页面单独的逻辑结束************************************************
//如果页面是单表逻辑比较简单新增，更新和详情3个页面可以共同引入add.js.如果详情页逻辑差异大或者上面的操作按钮特别多，需要单独定义详情页对应的js
//原则上要求：详情页和更新页的js必须是一个!!!!
//详情页：所有操作按钮对应的方法都是按照 “do+业务逻辑对应的英文翻译”，controller、service、sql中都按照该规范”定义方法名称“；
